跳到主要内容

MySQL 窗口函数学习

窗口函数,也叫OLAP函数(Online Anallytical Processing,联机分析处理),可以对数据库数据进行实时分析处理。

窗口函数的基本语法如下:

<窗口函数> over (partition by <用于分组的列名>
order by <用于排序的列名>)

<窗口函数> 的位置,可以放以下两种函数:

  1. 专用窗口函数,包括后面要讲到的 rank, dense_rank, row_number 等专用窗口函数。
  2. 聚合函数,如 sum, avg, count, max, min 等

因为窗口函数是对 where 或者 group by 子句处理后的结果进行操作,所以窗口函数原则上只能写在 select 子句中。

References